-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