刚才的东东有错(因为我用的数据有错),见笑。这里有个子查询版,我再试试联接
SELECT L.GOODS, L.PRICE, L.DATE_TIME
FROM GOODS L
WHERE L.DATE_TIME =
(SELECT
MAX(R.DATE_TIME)
FROM GOODS R
WHERE R.GOODS = L.GOODS
GROUP BY R.GOODS)
刚才的东东有错(因为我用的数据有错),见笑。这里有个子查询版,我再试试联接
SELECT L.GOODS, L.PRICE, L.DATE_TIME
FROM GOODS L
WHERE L.DATE_TIME =
(SELECT
MAX(R.DATE_TIME)
FROM GOODS R
WHERE R.GOODS = L.GOODS
GROUP BY R.GOODS)
select goods,price,dates from computer_price where (goods,dates)=(select goods,max(dates) from computer_price group by goods),
似乎可以避免上面的错误
但是(goods,dates)=(select goods,max(dates) from computer_price group by goods)是否合法?前面是字段,后面可是集合,用in??我也不知道了
"select goods,price,dates from computer_price where dates=(select max(dates) from computer_price group by goods)"这样写都是不严谨的,还是弱水兄台写的最严谨。
这样写也行:
select goods,price,dates from computer_price where (goods,dates)=(select goods,max(dates) from computer_price group by goods),
为什么大家一看就知道了!