In Mysql wählen, möchte ich die unteren 2 Artikel aus jeder KategorieSQL Query Ende 2 aus jeder Kategorie
Category Value
1 1.3
1 4.8
1 3.7
1 1.6
2 9.5
2 9.9
2 9.2
2 10.3
3 4
3 8
3 16
Giving mich wählen:
Category Value
1 1.3
1 1.6
2 9.5
2 9.2
3 4
3 8
Bevor ich von sqlite3 gewandert hatte ich um zuerst eine niedrigste von jeder Kategorie auszuwählen, und dann alles ausschließen, was sich damit verband, musste ich wieder das niedrigste aus jeder Kategorie auswählen. Dann hat alles, was dem neuen niedrigsten oder weniger in einer Kategorie entspricht, gewonnen. Dies würde auch mehr als 2 im Falle eines Unentschieden wählen, was nervig war ... Es hatte auch eine wirklich lange Laufzeit.
Mein ultimatives Ziel ist es zu zählen, wie oft sich eine Person in einer der niedrigsten 2 einer Kategorie befindet (es gibt auch ein Namensfeld) und dies ist der eine Teil, den ich nicht kenne. Dank
Gibt es auch eine ID, die für jede Zeile einzigartig ist? –
Da Sie die Krawatten nicht mögen, wie planen Sie, sie zu vermeiden? Jede Lösung, mit der irgendjemand konfrontiert wird, muss sich in irgendeiner Weise mit Beziehungen auseinandersetzen, also sollten Sie versuchen, die Regeln, die für sie gelten, genau zu formulieren. –
Ich habe diese Frage mit 'greatest-n-per-group' getaggt, weil sie ähnlich wie viele andere Fragen in StackOverflow mit diesem Tag ist. Obwohl ich verstehe, dass Sie nach den * kleinsten * Werten pro Gruppe fragen, ist die Technik zur Lösung gleich. –