09/10/2018, 18:14
Tìm Vị trí trong MYSQL
Mình đang dùng Mysql. Mình muốn làm chuyện này. Anh chị nào biết xin chỉ giúp.
Giả sử ta có table A(ID,name). Hỏi chứ nếu ta có một ID=3 và dòng có ID=3 ở vị trí thứ 2 trong table thì viết câu lệnh SQL làm sao để SQL trả về vị trí của dòng chứ ID đó trong table (tức là trả về 2)??
Giả sử ta có table A(ID,name). Hỏi chứ nếu ta có một ID=3 và dòng có ID=3 ở vị trí thứ 2 trong table thì viết câu lệnh SQL làm sao để SQL trả về vị trí của dòng chứ ID đó trong table (tức là trả về 2)??
Bài liên quan
- Dùng một vòng lặp đọc từ giá trị bé nhất của table (tức là giá trị đầu tiên), mỗi lần đọc qua thì tăng một biến tạm nào đó lên 1 đơn vị, đến khi nào giá trị đang đọc của table bằng giá trị muốn tìm thì dừng. Xuất biến tạm sẽ ra được vị trí của dòng đó...
$record_at_2 = mysql_result($query,1,"name"); // lưu ý số 1 tức là vị trí của record thứ 2 (số 0 là vị trí của record đầu tiên)
SELECT (Value IN (ID)) AS T_Index FROM tb_A WHERE (T_ID IN (ID) >0) ORDER BY T_INDEX DESC LIMIT 0,1
Giải thích: Chỉ lấy một dòng đầu tiên ra thôi. Phép IN là phép so sánh có trong tập hợp hay không, trả về vị trí, trả về 0 nếu không có do đó vị trí luôn >0, vị trí thực sẽ là vị trí trả về -1. Do mysql có support optimize code, do đó, 3 phép In trong câu lệnh chỉ được tính toán 1 lần. Bạn thay Value bằng giá trị của ID cần tìm vị trí