2017-08-11 123 views
-1

如何在MySQL中獲得多個結果?Mysql返回多行,只需要1

SELECT DATE_ADD(data, INTERVAL(-WEEKDAY(data)) DAY) AS D 
FROM Done 
GROUP BY D 

它給我。「2017年8月7日」和「2017年8月14日」,我需要他們兩個,而是一個開始和另一個在末尾。我怎樣才能做到這一點?

+1

可以粘貼附加信息: - 什麼是您的架構是什麼樣子? - 你究竟想要達到什麼目的? – thexpand

+0

它顯示星期一的數據和星期五的數據,在「數據」中,星期一至星期五和星期幾每天都完成 – SoManyQuestions

+0

粘貼整個模式,以便每個人都可以看到。爲什麼列名爲數據,而不是日期或什麼?因爲數據庫中的所有內容都是數據,所以它不是很好的名稱,因爲數據庫中的所有內容都是數據:) – thexpand

回答

0

根據數據庫查詢的結果稱爲結果集。 因此,您的結果集包含2行,換句話說,您可以說來自此查詢的結果集中有2個結果。

事實上,你有他們單獨 - 每個在結果集中的自己的行。 以您正在使用的編程語言獲取結果時,您將以集合或數組的形式接收它們。

然後,您可以獲取該集合/數組的第一個和第二個元素並根據需要打印它們。

+0

我正在使用php,試圖將它們分開,但它從未正常工作 – SoManyQuestions

+0

如果$ result是結果集,$ result [0]將返回結果集的第一行,而$ result [1] '會返回結果集的第二行。 – thexpand

+0

$ result [0]給出22,$ resut [1]給出00,$ result [2]給出11和$ result [3]給出77 – SoManyQuestions

0

試試這個: -

DROP TABLE IF EXISTS tbl_1; 
CREATE TEMPORARY TABLE tbl_1 
AS 
SELECT 
    DATE_ADD(data, INTERVAL(-WEEKDAY(data)) DAY) AS D,@row_num:[email protected]_num+1 as row_id 
FROM 
    Done,(select @row_num:=0)rownum 
GROUP BY D; 

DROP TABLE IF EXISTS tbl_2; 
CREATE TEMPORARY TABLE tbl_2 
AS 
SELECT * from tbl_1; 

SELECT tbl_2.D,tbl_1.D from tbl_1 
JOIN tbl_2 ON tbl_1.row_id=tbl_2.row_id+1