Re: [tanya-jawab] OOT: Sedikit SQL (MySQL)

2004-06-07 Terurut Topik Jhon Ramawi Putra
"Tanya Jawab Linux" <[EMAIL PROTECTED]> wrote on 04/06/2004 17:37:06:

> 
> Hai milisers,
> 
> Sori kalau pertanyaannya agak khusus SQL.
> Lagi belajar tutorial singkat SQL:
> "Sams Teach Yourself SQL in 10 Minutes, Third Edition"
> 
> mysql> select prod_price from products;
> ++
> | prod_price |
> ++
> |   5.99 |
> |   8.99 |
> |  11.99 |
> |   3.49 |
> |   3.49 |
> |   3.49 |
> |   4.99 |
> |   9.49 |
> |   9.49 |
> ++
> 9 rows in set (0.00 sec)
> 
> mysql> select distinct prod_price from products;
> ++
> | prod_price |
> ++
> |   5.99 |
> |   8.99 |
> |  11.99 |
> |   3.49 |
> |   4.99 |
> |   9.49 |
> ++
> 6 rows in set (0.06 sec)
> 
> mysql> select avg(prod_price) from products;
> +-+
> | avg(prod_price) |
> +-+
> |6.82 |
> +-+
> 1 row in set (0.00 sec)
> 
> Nah, sekarang apa yg terjadi bila fungsi AVG() dikombinasikan dengan
> DISTINCT ?
> 
> mysql> select avg(distinct prod_price) from products;
> ERROR 1064: You have an error in your SQL syntax near 'distinct 
prod_price)
> from
>  products' at line 1
> 
> Padahal perintah di atas saya dapatkan dari tutorial SQL.
> 
> Ini MySQL bawaannya PHPTriad.
> C:\>mysql -V
> C:\APACHE\MYSQL\BIN\MYSQL.EXE  Ver 11.12 Distrib 3.23.32, for 
Win95/Win98
> (i32)
> 
> Oya, saya juga sudah coba perintahnya di MySQL bawaannya package RedHat 
7.3.
> Hasilnya juga error.
> 
> Any help, please ? Mungkin perlu upgrade ke versi lebih baru/
> 
> 
> TIA
> 
> ~yudi

Mas Yudi,

Coba upgrade MySQL nya ke versi 5.0. Kalau query diatas masih gagal, 
mungkin bisa dicoba query berikut:

mysql>select avg(a.price) from 
mysql>(select distinct(prod_price) as price from products) as a;

Semoga berhasil.

Best regards,
Jhon Ramawi Putra


-- 
Unsubscribe: kirim email kosong ke [EMAIL PROTECTED]
Arsip dan info di http://linux.or.id/milis.php
FAQ milis http://linux.or.id/faq.php



Re: [tanya-jawab] OOT: Sedikit SQL (MySQL)

2004-06-04 Terurut Topik Tanya Jawab Linux
From: "Alam Surya" <[EMAIL PROTECTED]>

> salam...

Salam kenal juga.

> > Padahal perintah di atas saya dapatkan dari tutorial SQL.
> >
>
> sorry... mungkin anda salah lihat mas... mosok sich ada perintah SQL
seperti
> ini ;
>
> mysql> select avg(distinct prod_price) from products;

Sebenarnya tidak mirip / persis seperti itu, saya ambil intinya saja.
Kalau persis seperti ini sintaksnya:

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';

Saat dijalankan, maka hasilnya adalah :

ERROR 1064: You have an error in your SQL syntax near 'DISTINCT prod_price)
AS a
vg_price
FROM Products
WHERE vend_id = 'DLL01'' at line 1

Padahal mestinya akan dihasilkan output seperti ini:

avg_price
---
4.2400

> karena yg betul adalah :
>
> mysql> select distinct avg(prod_price) from products;

Ini sudah saya coba dan bisa dijalankan, tetapi outputnya tidak seperti yg
saya inginkan.

mysql> select avg(prod_price) from products;
+-+
| avg(prod_price) |
+-+
|6.82 |
+-+
1 row in set (0.00 sec)

mysql> select distinct avg(prod_price) from products;
+-+
| avg(prod_price) |
+-+
|6.82 |
+-+
1 row in set (0.00 sec)

Padahal mestinya avg-nya memberikan keluaran yg lebih kecil yaitu 4.24.

> hmm tapi apa syntax SQL ada perubahan yach... ??? CMIIW

Saya sendiri baru mau belajar intensif sekarang, yg lalu cuman asal
tahu perintah dasar select, where, yg sederhana gitu.
Kalau mau membaca sendiri tutorialnya, bisa saya kirimkan, hanya 333KB kok.
Biar bikin penasaran :-)

Terimakasih atas masukannya.

Salam

~yudi





-- 
Unsubscribe: kirim email kosong ke [EMAIL PROTECTED]
Arsip dan info di http://linux.or.id/milis.php
FAQ milis http://linux.or.id/faq.php



Re: [tanya-jawab] OOT: Sedikit SQL (MySQL)

2004-06-04 Terurut Topik Alam Surya
salam...

- Original Message -
From: "Tanya Jawab Linux" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 04, 2004 5:37 PM
Subject: [tanya-jawab] OOT: Sedikit SQL (MySQL)


>
> Hai milisers,
>
> Sori kalau pertanyaannya agak khusus SQL.
> Lagi belajar tutorial singkat SQL:
> "Sams Teach Yourself SQL in 10 Minutes, Third Edition"
>
> mysql> select prod_price from products;
> ++
> | prod_price |
> ++
> |   5.99 |
> |   8.99 |
> |  11.99 |
> |   3.49 |
> |   3.49 |
> |   3.49 |
> |   4.99 |
> |   9.49 |
> |   9.49 |
> ++
> 9 rows in set (0.00 sec)
>
> mysql> select distinct prod_price from products;
> ++
> | prod_price |
> ++
> |   5.99 |
> |   8.99 |
> |  11.99 |
> |   3.49 |
> |   4.99 |
> |   9.49 |
> ++
> 6 rows in set (0.06 sec)
>
> mysql> select avg(prod_price) from products;
> +-+
> | avg(prod_price) |
> +-+
> |6.82 |
> +-+
> 1 row in set (0.00 sec)
>
> Nah, sekarang apa yg terjadi bila fungsi AVG() dikombinasikan dengan
> DISTINCT ?
>

penggunaan SELECT DISTINCT adalah untuk meretrieve data dengan cara
mengroup-kan record-record yang sama sesuai kriteria field yg kita inginkan
dan menampilkan data yg berbeda saja nilainya.

jika contoh statement SQL yang anda gunakan seperti ini :

select distinct prod_price from products;

maka artinya, akan ditampilkan semua data yang berbeda nilainya saja pada
field prod_price dari table products

sedangkan fungsi AVG() untuk mengambil nilai rata2 dari field2 yang kita
sebutkan.

apabila digabungkan, maka yg terjadi adalah RDBMS akan melakukan
penghitungan rata2 terlebih dahulu baru kemudian menggrouping data yang sama
dan menampilkan dalam record2 yang nilai datanya berbeda saja
(hehehehe bingung gak)

> mysql> select avg(distinct prod_price) from products;
> ERROR 1064: You have an error in your SQL syntax near 'distinct
prod_price)
> from
>  products' at line 1
>
> Padahal perintah di atas saya dapatkan dari tutorial SQL.
>

sorry... mungkin anda salah lihat mas... mosok sich ada perintah SQL seperti
ini ;

mysql> select avg(distinct prod_price) from products;

karena yg betul adalah :

mysql> select distinct avg(prod_price) from products;

hmm tapi apa syntax SQL ada perubahan yach... ??? CMIIW

>
> Ini MySQL bawaannya PHPTriad.
> C:\>mysql -V
> C:\APACHE\MYSQL\BIN\MYSQL.EXE  Ver 11.12 Distrib 3.23.32, for Win95/Win98
> (i32)
>
> Oya, saya juga sudah coba perintahnya di MySQL bawaannya package RedHat
7.3.
> Hasilnya juga error.
>
> Any help, please ? Mungkin perlu upgrade ke versi lebih baru/
>
>

heeemmm. coba dech syntax nya diperbaiki !!! ngkali aja tambah
ancurhehehehe... :-))

DBA Linglung
--
ym : alam_surya





-- 
Unsubscribe: kirim email kosong ke [EMAIL PROTECTED]
Arsip dan info di http://linux.or.id/milis.php
FAQ milis http://linux.or.id/faq.php



[tanya-jawab] OOT: Sedikit SQL (MySQL)

2004-06-04 Terurut Topik Tanya Jawab Linux

Hai milisers,

Sori kalau pertanyaannya agak khusus SQL.
Lagi belajar tutorial singkat SQL:
"Sams Teach Yourself SQL in 10 Minutes, Third Edition"

mysql> select prod_price from products;
++
| prod_price |
++
|   5.99 |
|   8.99 |
|  11.99 |
|   3.49 |
|   3.49 |
|   3.49 |
|   4.99 |
|   9.49 |
|   9.49 |
++
9 rows in set (0.00 sec)

mysql> select distinct prod_price from products;
++
| prod_price |
++
|   5.99 |
|   8.99 |
|  11.99 |
|   3.49 |
|   4.99 |
|   9.49 |
++
6 rows in set (0.06 sec)

mysql> select avg(prod_price) from products;
+-+
| avg(prod_price) |
+-+
|6.82 |
+-+
1 row in set (0.00 sec)

Nah, sekarang apa yg terjadi bila fungsi AVG() dikombinasikan dengan
DISTINCT ?

mysql> select avg(distinct prod_price) from products;
ERROR 1064: You have an error in your SQL syntax near 'distinct prod_price)
from
 products' at line 1

Padahal perintah di atas saya dapatkan dari tutorial SQL.

Ini MySQL bawaannya PHPTriad.
C:\>mysql -V
C:\APACHE\MYSQL\BIN\MYSQL.EXE  Ver 11.12 Distrib 3.23.32, for Win95/Win98
(i32)

Oya, saya juga sudah coba perintahnya di MySQL bawaannya package RedHat 7.3.
Hasilnya juga error.

Any help, please ? Mungkin perlu upgrade ke versi lebih baru/


TIA

~yudi





-- 
Unsubscribe: kirim email kosong ke [EMAIL PROTECTED]
Arsip dan info di http://linux.or.id/milis.php
FAQ milis http://linux.or.id/faq.php