亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這樣的查詢如何實現(兩個字段確定一個唯一條目)

這樣的查詢如何實現(兩個字段確定一個唯一條目)

PHP
慕桂英3389331 2019-03-06 03:58:25
查詢條件是兩組一對一的數據,第一組是productid,第二組是type比如productid是     type是1------------------------褲子類3------------------------褲子類2------------------------衣服類2------------------------裝飾類他們是一對一的關系然后要對他們的price進行排序 productid有重復的,但是productid和type同時判斷就沒有重復了比如type=1,productid=1才能確定一個唯一條目如果查詢單條數據SELECT * FROM order where productid =1 AND type='褲子類';就行了 在productid能確定一個條目的情況下,如果要查詢多個條目用SELECT * FROM order where productid in (1,3,5)就可以了 但是productid 和type才能確定一個條目,怎么才能一次查出 貌似有點復雜,想不出來如何實現啊表是這樣! 相當于要把這些查詢合并在一起 并且要在整個結果集中按price排序SELECT * FROM 'order' where productid in (1,3) AND type='褲子類'SELECT * FROM 'order' where productid =1 AND type='褲子類'SELECT * FROM 'order' where productid =3 AND type='褲子類'SELECT * FROM 'order' where productid =2 AND type='衣服類'SELECT * FROM 'order' where productid =2 AND type='裝飾類' ++++++++加上++++++++再加上 表如下CREATE TABLE `order` ( `id` int(10) NOT NULL AUTO_INCREMENT, `productid` int(10) DEFAULT NULL, `type` varchar(255) DEFAULT NULL, `price` int(10) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8; INSERT INTO `order` VALUES (1, 1, '衣服類', 515);INSERT INTO `order` VALUES (2, 2, '衣服類', 5154);INSERT INTO `order` VALUES (3, 3, '衣服類', 4455);INSERT INTO `order` VALUES (4, 4, '衣服類', 55023);INSERT INTO `order` VALUES (5, 5, '衣服類', 456);INSERT INTO `order` VALUES (6, 1, '褲子類', 1651);INSERT INTO `order` VALUES (7, 2, '褲子類', 164);INSERT INTO `order` VALUES (8, 3, '褲子類', 111);INSERT INTO `order` VALUES (9, 4, '褲子類', 1411);INSERT INTO `order` VALUES (10, 5, '褲子類', 1511);INSERT INTO `order` VALUES (11, 1, '裝飾類', 1054);INSERT INTO `order` VALUES (12, 2, '裝飾類', 156);INSERT INTO `order` VALUES (13, 3, '裝飾類', 167324);INSERT INTO `order` VALUES (14, 4, '裝飾類', 20);INSERT INTO `order` VALUES (15, 5, '裝飾類', 165);
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

需求不清,陳述混亂
也不知道你價格排序是所有一起排序還是分類內部排序,sql自己看吧

SELECT * FROM 'order' where (productid,type) in ((1,'褲子類'),(3,'褲子類'),(2,'衣服類'),(2,'裝飾類')) order by type,price;
查看完整回答
反對 回復 2019-03-18
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

你的意思我感覺可能是指同時按照productid和type進行分組吧?

SELECT productid, type FROM order WHERE group by productid, type;
-- 非sql_mode嚴格模式下,你可以直接使用,因為每組只存在一條數據,所以這樣的數據是正確可信的
SELECT * FROM order WHERE group by productid, type;

不知道是不是你的意思,理解錯了請指出。。

查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 665 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號