-2
我有下面的代碼,但我想通過date_available desc來安排它,並通過store_id對它進行分組,以便我只返回1個值。如何在mysql中按組排序?
SELECT
product_to_store.store_id,
product.date_available,
product.product_id,
product_description.name,
product_to_category.category_id,
pcd3.name,
lvl2.parent_id,
pcd2.name,
CASE
WHEN lvl2.parent_id > 0 THEN lvl1.parent_id
ELSE 0
END,
pcd1.name,
product.quantity,
product_type.type
FROM product
inner join product_to_store on (product.product_id=product_to_store.product_id)
inner join product_description on (product.product_id = product_description.product_id)
inner join product_to_category on (product.product_id = product_to_category.product_id)
inner join product_type on (product.product_id = product_type.product_id)
inner join store on (product_to_store.store_id = store.store_id)
inner join product_category as lvl2 on (product_to_category.category_id = lvl2.category_id)
inner join product_category as lvl1 on (lvl1.category_id = lvl2.parent_id)
inner join product_category_description as pcd3 on (pcd3.category_id = lvl2.category_id)
inner join product_category_description as pcd2 on (pcd2.category_id = lvl2.parent_id)
inner join product_category_description as pcd1 on (pcd1.category_id = lvl1.parent_id)
樣品表:
store_id date_available name
1 2017-05-04 T1
1 0000-00-00 T2
2 2017-06-04 T3
3 0000-00-00 T4
2 2017-04-04 T5
3 0000-00-00 T6
預期結果:
store_id date_available name
1 2017-05-04 T1
2 2017-06-04 T3
3 0000-00-00 T4
我如何能做到這一點在MySQL?請幫助我,謝謝你。
簡化你的榜樣(https://stackoverflow.com/幫助/ MCVE)。不要忘記添加一些示例表格數據和預期結果 - 以及格式化文本! – jarlh
如果兩個[date_available]是相同的呢?在你的例子中[store_id] 3有兩個記錄與[date_available]相同,我們應該選擇哪條記錄? – pblyt
@pblyt只要拿到最頂就可以了 – CloudSeph