4
처럼 모든 판매의 테이블이 정의가 : 나는 가격이 변경 될 수 있으므로 (모든 항목에 대한 최종 판매 가격을 얻을 필요가SQL 쿼리는 테이블의 모든 별개의 항목에 대한 최신 기록을 얻을 수
mysql> describe saledata;
+-------------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------+-------+
| SaleDate | datetime | NO | | NULL | |
| StoreID | bigint(20) unsigned | NO | | NULL | |
| Quantity | int(10) unsigned | NO | | NULL | |
| Price | decimal(19,4) | NO | | NULL | |
| ItemID | bigint(20) unsigned | NO | | NULL | |
+-------------------+---------------------+------+-----+---------+-------+
). 내가 별도로합니다 (ItemID
의 별도 항목 테이블에 저장됩니다) 모든 항목에 대한 마지막 판매 가격을하고 삽입 할 수 있도록하려면, 그러나
SELECT price FROM saledata WHERE itemID = 1234 AND storeID = 111 ORDER BY saledate DESC LIMIT 1
: 나는 같은 쿼리를 실행할 수있어 표. 어떻게이 데이터를 얻을 수 있습니까? 다음과 같은 쿼리를 시도했습니다 :
SELECT storeID, itemID, price FROM saledata WHERE itemID IN (SELECT itemID from itemmap) ORDER BY saledate DESC LIMIT 1
그런 다음 삽입하여 해당 데이터를 가져 오지 못했습니다. 이 스택 오버플로에 자주 오는 큰-N-그룹 별 문제가
mysql> describe lastsale;
+-------------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------+-------+
| StoreID | bigint(20) unsigned | NO | | NULL | |
| Price | decimal(19,4) | NO | | NULL | |
| ItemID | bigint(20) unsigned | NO | | NULL | |
+-------------------+---------------------+------+-----+---------+-------+
stackoverflow 덕분에, 적시에 – sansknwoledge