Hi,

Thank you very much.

Can task 2 and 3 be performed in one query to improve the performance?

Thanks



> -----Original Message-----
> From: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users-
> bounces at mailinglists.sqlite.org] On Behalf Of Hick Gunter
> Sent: Friday, February 19, 2016 3:23 PM
> To: 'SQLite mailing list'
> Subject: Re: [sqlite] Process duplicate field values
> Sensitivity: Confidential
> 
> Basic idea, no testing
> 
> The core query is
> 
> Select F1 as key,count() as count from MyTable group by F1 having count>1;
> 
> The number of distinct F1 values is
> 
> select count() from (<subquery>)
> 
> The number of conflict records is
> 
> Select sum(count) from (<subquery>)
> 
> And the update would be
> 
> Update MyTable set F2=9 where F1 in select key from (<subquery>)
> 
> The core query could also be declared as a view or as a CTE
> 
> -----Urspr?ngliche Nachricht-----
> Von: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users-
> bounces at mailinglists.sqlite.org] Im Auftrag von admin at shuling.net
> Gesendet: Freitag, 19. Februar 2016 07:01
> An: sqlite-users at mailinglists.sqlite.org
> Betreff: [sqlite] Process duplicate field values
> Wichtigkeit: Hoch
> Vertraulichkeit: Vertraulich
> 
> Hi,
> 
> 
> 
> I create a table as follows:
> 
> 
> 
> CREATE TABLE MyTable (F1 INTEGER, F2 INTEGER);
> 
> 
> 
> Then add the following records:
> 
> 
> 
> INSERT INTO MyTable (F1, F2) Values (1, 2);
> 
> INSERT INTO MyTable (F1, F2) Values (1, 3);
> 
> INSERT INTO MyTable (F1, F2) Values (2, 4);
> 
> INSERT INTO MyTable (F1, F2) Values (2, 5);
> 
> INSERT INTO MyTable (F1, F2) Values (3, 6);
> 
> INSERT INTO MyTable (F1, F2) Values (3, 7);
> 
> INSERT INTO MyTable (F1, F2) Values (4, 2);
> 
> 
> 
> Now if two records have the same value of F1, then I will define them as
> conflict records.
> 
> 
> 
> Now I need to perform the following tasks:
> 
> 
> 
>     1. For all conflict records, get the total count of distinct F1 values.
> In the above sample, record 1, 2, 3, 4, 5, 6 are conflict records, but the 
> distinct
> values are only 1, 2, 3 so the total count should be 3.
>     2. Get the total count of all the conflict records. In the above sample, 
> it
> should be 6.
>     3. Set the F2 value of all the conflict records to 9. Keep all other 
> records
> intact.
> 
> 
> 
> How to do that? Can task 2 and 3 be implemented in one SQL query to
> improve the performance?
> 
> 
> 
> Thanks
> 
> 
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> 
> 
> ___________________________________________
>  Gunter Hick
> Software Engineer
> Scientific Games International GmbH
> FN 157284 a, HG Wien
> Klitschgasse 2-4, A-1130 Vienna, Austria
> Tel: +43 1 80100 0
> E-Mail: hick at scigames.at
> 
> This communication (including any attachments) is intended for the use of
> the intended recipient(s) only and may contain information that is
> confidential, privileged or legally protected. Any unauthorized use or
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please immediately notify the sender
> by return e-mail message and delete all copies of the original communication.
> Thank you for your cooperation.
> 
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to