Đôi dòng về bài toán nhắn tin SMS và MySQL

@author: Phùng Văn Huy
Bảng lưu tin nhắn từ điện thoại:
id – số điện thoại nhắn tin
answer – phương án lựa chọn
sent_time – thời gian dự đoán
guess – số người trả lời đúng đã dự đoán
CREATE TABLE tel_msg
(
  id          VARCHAR(20) PRIMARY KEY,
  answer      tinyint,
  sent_time   datetime,
  guess       INT
);

Khi có tin nhắn tới, xác định được các tham số
insert into tel_msg set id=$id, answer=$answer, sent_time=now(), guess=$guess on duplicate key update sent_time=now(), guess=$guess, answer=$answer

Lấy ra 5 người thắng cuộc: dự đoán gần đúng nhất và sớm nhất
SELECT id,
       ABS(guess -(SELECT COUNT(id) FROM tel_msg WHERE answer = 1)) AS ratio,
       sent_time
FROM tel_msg
WHERE answer = 1
ORDER BY ratio ASC,
         sent_time ASC LIMIT 5 OFFSET 0;