Ερώτηση SQL

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
Swtos
Kilobyte level
Kilobyte level
Posts: 309
Joined: Mon Apr 18, 2005 4:52 pm
Academic status: MSc
Gender:
Location: Δ.Π

Ερώτηση SQL

Post by Swtos » Fri Sep 29, 2006 11:32 am

Καλημέρα!

Εχω την εξής απορία και θελω να μου πει καποιος αν γινεται το παρακάτω μονο με SQL, χωρις προγραμματισμό, ουτε καν stored procedures.

Εστω τα queries:

1)
SELECT ... COUNT(*)
FROM ...
WHERE A,B
GROUP BY...

2)
SELECT ... COUNT(*)
FROM ...
WHERE A,B,Γ
GROUP BY...

Και τα δύο ειναι ιδια αναφορικά με τα τμηματα SELECT & FROM & GROUP BY
Τα Α,Β,Γ ειναι συνθηκες. Προφανως το 2) ειναι πιο "περιοριστικό" αρα το
COUNT(*) του θα ειναι μικροτερο απο του 1).
Θέλω να υπολογισω το COUNT(*) του 2) προς το COUNT(*) του 1). Οποιος εχει καμια ιδέα ας πει!

Ευχαριστώ :)
-My father made him an offer he couldnt refuse
-What was that?
-Luca Brasi held a gun to his head and my father assured him that either his brain or his signature would be on the contract

-The Godfather
User avatar
nap
Kilobyte level
Kilobyte level
Posts: 239
Joined: Tue Nov 23, 2004 5:25 pm
Location: In da ghetto
Contact:

Post by nap » Fri Sep 29, 2006 11:55 am

SQL Server (T-SQL)

Code: Select all

SELECT CAST((SELECT COUNT(*) ... [το δεύτερο]) AS FLOAT) / (SELECT COUNT(*) ... [το πρώτο])
Oracle (PL/SQL)

Code: Select all

SELECT (SELECT COUNT(*) ... [το δεύτερο]) / (SELECT COUNT(*) ... [το πρώτο]) FROM DUAL;
It is by will alone I set my mind in motion...
User avatar
salo
byte level
byte level
Posts: 125
Joined: Wed May 05, 2004 4:12 pm
Location: ΚΟΛΩΝΟΣ city και...

Post by salo » Fri Sep 29, 2006 12:05 pm

SELECT second / first
FROM
( SELECT ... COUNT(*) AS first
FROM ...
WHERE A,B
GROUP BY... ) Α ,

( SELECT ... COUNT(*) AS second
FROM ...
WHERE A,B,Γ
GROUP BY... ) Β
Άλλη ιδέα ..
<<Τας λεωφόρους μή βαδίζειν>>
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Fri Sep 29, 2006 3:23 pm

Σώτο ξεκαθάρισε τι θέλεις.

Α)Θες το Count.Β / Count.Α (κλάσμα)?
ή
Β) θες το count.Β από το Count.A (δλδ τομή συνόλων)?
User avatar
Swtos
Kilobyte level
Kilobyte level
Posts: 309
Joined: Mon Apr 18, 2005 4:52 pm
Academic status: MSc
Gender:
Location: Δ.Π

Post by Swtos » Sat Sep 30, 2006 11:56 am

Το Α) θέλω, το κλάσμα. Παρεπιπτόντως, ξεχασα να πω οτι θελω να το κανω σε MySQL. Eυχαριστω κ τα αλλα παιδία για τις απαντήσεις τους :smt023
-My father made him an offer he couldnt refuse
-What was that?
-Luca Brasi held a gun to his head and my father assured him that either his brain or his signature would be on the contract

-The Godfather
Post Reply

Return to “Προγραμματισμός”