Home > MySQL > MySQL truy vấn so sánh giá trị trong vùng 1 tới n

MySQL truy vấn so sánh giá trị trong vùng 1 tới n

MySQL Advance

Ví dụ: Chúng ta có một yêu cầu bài toán:

Có 2 table lưu trữ ngành nghề & thông tin công ty, làm thế nào lưu trữ  tối ưu CSDL My SQL (lưu trữ ít record, mà vẫn cung cấp đủ thông tin).

table 1: nganhnghe() lưu  thông tên các lĩnh vực ngành nghề

mysql_1

table 2: congty() lưu thông tin công ty & các ngành nghề liên quan
mysql_2

Yêu cầu truy vấn: cho biết có bao nhiêu c.ty ở mỗi ngành (chỉ dùng một câu truy vấn) ?

Chúng ta đặt câu try vấn như sau:

SELECT n.id, n.ten_nganh, COUNT(n.id) AS total_congty
FROM congty AS c, nganhnghe AS n
WHERE c.nganhnghe != '' AND FIND_IN_SET(n.id, c.nganhnghe)
GROUP BY n.id
HAVING COUNT(n.id)

// Lúc này xuất ra kết quả
mysql_3
- Các bạn tham khảo thêm function FIND_IN_SET tại trang web của MySQL:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set

 

PHP Developer
nhantam

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: