下面的查询的第一行:MySQL只显示特定领域
SELECT *
FROM productlist.pricelist_merchant
WHERE product_id <> '0'
ORDER BY
product_id ASC,
qty = 0,
price ASC;
返回:
Merchant|product_id|price |qty|
Merch_A |3217 |44.30 |16 |
Merch_Z |3217 |45.14 |2 |
Merch_U |3217 |45.62 |16 |
Merch_I |3217 |46.06 |16 |
Merch_Q |3217 |48.98 |55 |
Merch_B |3217 |39.58 |0 |
Merch_T |3217 |45.97 |0 |
Merch_M |3217 |46.40 |0 |
Merch_L |3220 |105.84|1 |
Merch_Z |3220 |147.00|3 |
Merch_U |3220 |149.36|2 |
Merch_A |3220 |149.99|2 |
Merch_Q |3220 |153.53|90 |
Merch_I |3220 |154.51|2 |
Merch_T |3220 |157.41|4 |
Merch_C |3220 |164.59|46 |
Merch_M |3220 |136.10|0 |
Merch_B |3220 |136.71|0 |
这是完美的我。如果有可用数量,则product_id按价格排序。但我只需要product_id的第一行。我想这样:
Merchant|product_id|price |qty|
Merch_A |3217 |44.30 |16 |
Merch_L |3220 |105.84|1 |
只有product_id的第一行对我感兴趣。有没有办法改变我的查询来实现这一目标?我尝试了很多陈述,并没有一个工作...
在此先感谢!
在您的查询中添加LIMIT 1 –
@AhmetKarabulut不,如果OP只需要来自整个查询的单个记录,那么只会添加“LIMIT 1”。如果需要来自多个团体的单个记录,它将不起作用。 –
不是“GROUP BY”的工作。您不能使用“GROUP BY”选择行。 “GROUP BY”使用来自每个组的数据计算新行。在[类似问题](https://stackoverflow.com/q/12102200/4265352)上查看[此答案](https://stackoverflow.com/a/28090544/4265352)。 – axiac