Loading...

Уникалдуу баалуулуктарды тандоо. DISTINCT оператор

Белгилүү мамычалар үчүн уникалдуу маалыматтарды тандоо үчүн DISTINCT операторун колдоно аласыз.

Мисалы, ар кандай өнүмдөрдүн бир эле өндүрүүчүлөрү болушу мүмкүн жана бизде төмөнкү өнүмдөрдүн таблицасы бар дейли:

1
2
3
4
5
6
7
8
9
10
он бир
12
13
14
15
16
17
18
19
USE productsdb;
 
DROP TABLE IF EXISTS Products;
 
CREATE TABLE Products
(
    Id INT AUTO_INCREMENT PRIMARY KEY,
    ProductName VARCHAR(30) NOT NULL,
    Manufacturer VARCHAR(20) NOT NULL,
    ProductCount INT DEFAULT 0,
    Price DECIMAL NOT NULL
);
INSERT INTO Products  (ProductName, Manufacturer, ProductCount, Price)
VALUES
('iPhone X', 'Apple', 3, 71000),
('iPhone 8', 'Apple', 3, 56000),
('Galaxy S9', 'Samsung', 6, 56000),
('Galaxy S8', 'Samsung', 2, 46000),
('Honor 10', 'Huawei', 3, 26000);

Бардык өндүрүүчүлөрдү тандап алалы:

1
SELECT Manufacturer FROM Products;

MySQLде уникалдуу баалуулуктарды алуу

Бирок, мындай өтүнүч менен өндүрүүчүлөр өздөрүн кайталайт. Эми уникалдуу маанилерди тандоо үчүн DISTINCT операторун колдоно алабыз :

1
SELECT DISTINCT Manufacturer FROM Products;

MySQLдеги DISTINCT оператору

Биз ошондой эле бир нече мамычалар үчүн уникалдуу маанилердин тандоосун орното алабыз:

1
SELECT DISTINCT Manufacturer, ProductCount FROM Products;

Бул учурда, Өндүрүүчү жана ProductCount тилкелери үлгү алуу үчүн колдонулат. Беш саптын ичинен эки сапта гана бул тилкелерде кайталанган маанилер бар. Демек, тандоо 4 сапка ээ болот:

DISTINCT оператору жана MySQLдеги бир нече тилке