2017-08-11 9 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、その他。これどうやってするの?

+1

追加情報貼り付けることができます: を - あなたのスキーマがどのようなもの? - あなたは正確に何を達成しようとしていますか? – thexpand

+0

月曜日のデータと金曜日のデータを「データ」に表示します。月曜日と金曜日に行われることがあります。 – SoManyQuestions

+0

誰もが見ることができるようにスキーマ全体を貼り付けます。なぜ列はデータで、日付や何かではないのですか? – thexpand

答えて

0

クエリの結果は、データベースの結果セットと呼ばれます。 結果セットには2つの行が含まれています。言い換えれば、このクエリの結果セットに2つの結果があると言うことができます。

実際には、それぞれを結果セットの独自の行に分けています。 使用しているプログラミング言語で結果を取得すると、それらをコレクションまたは配列として受け取ります。

次に、そのコレクション/配列の最初と2番目の要素を取得し、必要に応じて印刷できます。

+0

私はPHPを使用していますが、それらを分離しようとしましたが、正しく動作しませんでした。 – SoManyQuestions

+0

'$ result'が結果セットの場合、' $ result [0] 'は結果セットの最初の行を返し、' $ result [ 'は結果セットの2番目の行を返します。 – 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 
関連する問題