-2

特定のIDのMy SQLで最初に挿入されたレコードを取得する方法

たとえば、ID 102 には 3 つのレコードがあり、最初に挿入されたレコードを取得する必要があります

テーブル名:

主人

列とデータ:

auto_id #### report_id #### slabs_remaining


  • 1 ----------------------1 ------------------------------- --55
  • 2----------------------1-------------------------- --54
  • 3 ----------------------1 ------------------------------- --53
  • 4 ----------------------2 --------------------------- --100
  • 5 ----------------------2 ------------------------------- --99
  • 6 ----------------------1 ------------------------------- --52
  • 7 ----------------------1 ------------------------------- --51
  • 8 ----------------------3 ------------------------------- --200
  • 9----------------------3------------------------------ --199

上記のデータから、最初に挿入された report_id = 2 を取得する方法

4

3 に答える 3

2

使用MINおよびGROUP BY

SELECT ParticularID, MIN(ID) AS FirstID
FROM   tableName
GROUP  BY ParticularID

サンプルデータ

╔══════════════╦════╗
║ PARTICULARID ║ ID ║
╠══════════════╬════╣
║            1 ║  1 ║  << First ID
║            1 ║  2 ║
║            1 ║  3 ║
║            2 ║  4 ║  << First ID
║            2 ║  5 ║
║            2 ║  6 ║
║            3 ║  7 ║  << First ID
║            3 ║  8 ║
╚══════════════╩════╝

出力

╔══════════════╦═════════╗
║ PARTICULARID ║ FIRSTID ║
╠══════════════╬═════════╣
║            1 ║       1 ║
║            2 ║       4 ║
║            3 ║       7 ║
╚══════════════╩═════════╝
于 2013-01-23T15:01:36.190 に答える
0

クエリで ORDER BY the-id-or-age-of-recordと LIMIT 1 の組み合わせを使用しています...

于 2013-01-23T15:01:03.660 に答える
0

これを見てください。ここでは変数を使用しておりparticularid、他の列しかないと仮定しています。それでも、テーブル構造を見ずに言うのはかなりあいまいです..

SQLFIDDLE デモ

テーブル:

| PARTICULARID | COL2 |
-----------------------
|            1 |    a |
|            1 |    d |
|            1 |    y |
|            2 |    p |
|            2 |    c |
|            2 |    d |
|            3 |    e |
|            3 |    f |


set @vid:=0;
set @r:=0;

select particularID, col2
from (
SELECT @r:=(case when @vid = ParticularID
then @i + 1 else 1 end) as row,
@vID:=ParticularID, ParticularID, col2 
FROM   tableName
ORDER BY ParticularID) x
where x.row is not null
;


| PARTICULARID | COL2 |
-----------------------
|            1 |    a |
|            2 |    p |
|            3 |    e |
于 2013-01-23T15:19:52.143 に答える