SELECT-Abfrage gibt 1 Zeile aus jeder Gruppe zurück

8

Dies ist eine Produkttabelle und hat einige Millionen Datensätze.

Ich möchte den Datensatz wie folgt auflisten:
Normalerweise verwende ich:

%Vor%


SQL-Leistungsproblem aktuell. Ich brauche SQL-Abfrage, um das Ergebnis wie folgt auszugeben.

    
Vill Raj 17.01.2013, 08:43
quelle

3 Antworten

18

Es gibt viele Alternativen, um dieses Problem zu lösen. Ich empfehle, einer Unterabfrage beigetreten zu sein, die separat die letzte ID ( unter der Annahme, dass die Spalte AUTO_INCREMENT ed ist) für jede% erhält. co_de%.

%Vor%

Um eine bessere Leistung zu erzielen, stellen Sie sicher, dass Sie einen Index für diese Spalten haben: store_ID und ID .

UPDATE 1

Wenn Sie für jede Aufzeichnung ein Limit haben möchten, verwenden Sie das unten,

%Vor%
John Woo 17.01.2013, 08:45
quelle
2
%Vor%

Dies sollte funktionieren und Sie können nach Ihrer Anforderung entweder nach store_id oder id.

bestellen     
Anand thakkar 17.01.2013 08:54
quelle
1

Versuchen Sie es bitte:

%Vor%     
bonCodigo 17.01.2013 08:47
quelle
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '333489',
    'url' => 'select-query-return-1-row-from-each-group',
];

$_COOKIE = [
    '_csrf-frontend' => 'b07a818948fc8c0d64f638d4e861fb9c76f02371d0127fc68fefaffc2d473e40a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"h-XCl2S-LgRAqCUpx6saIpf4dqkrug68";}',
    'advanced-frontend' => '06448e5f73155e931d53bc152de64cab',
];

$_SESSION = [
    '__flash' => [],
];