Menace
wzl-lid
Sinds 2/12/2004
T: 37
R: 140
|
23/5/2008 -
10:27u
| Quote
|
Ik heb dus een tabel SuccessRate.. en daarin zitten waarden van 0 tot 100.. ik had nu graag volgende dataset terug gekregen:
0-24 120 25-49 95 50-74 60 75-100 20
Waar de 2de kollom dus de count is van de waarden.. met een between krijg je maar de waarde terug van 1 reeks.. bv van 0-24..
iemand een idee hoe ik deze met 1 SQL in een dataset kan steken?
|
dannyboy
wzl-lid
Sinds 31/5/2005
T:108 -
R:883
|
23/5/2008 -
22:32u
| Quote
|
is uw tabel maar 1 kolom met willekeurige waarden tussen 0 en 100 of hoe zit die in elkaar, ik vind uw uitleg een beetje verwarrend
|
Zubzub
wzl-lid
Sinds 30/7/2005
T:2 -
R:176
|
25/5/2008 -
13:22u
| Quote
|
dannyboy schreef: is uw tabel maar 1 kolom met willekeurige waarden tussen 0 en 100 of hoe zit die in elkaar, ik vind uw uitleg een beetje verwarrend ²
|
Menace
wzl-lid
Sinds 2/12/2004
T:37 -
R:140
|
25/5/2008 -
22:02u
| Quote
|
er is idd maar 1 tabel.. voorbeeld van de tabel: 0,00 25,00 0,00 0,00 50,00 32,00 75,00 25,00 41,00 50,00 ... and so on..
|
Zubzub
wzl-lid
Sinds 30/7/2005
T:2 -
R:176
|
26/5/2008 -
1:39u
| Quote
|
Is het dan niet makkelijker om per kolom uw aantal waarden van uw te klasse te steken ipv per record, op die manier hebt ge zelfs per waardenverzameling een overzicht.
|
Menace
wzl-lid
Sinds 2/12/2004
T:37 -
R:140
|
26/5/2008 -
8:46u
| Quote
|
Zubzub schreef: Is het dan niet makkelijker om per kolom uw aantal waarden van uw te klasse te steken ipv per record, op die manier hebt ge zelfs per waardenverzameling een overzicht.
verklaar u nader?
|
Zubzub
wzl-lid
Sinds 30/7/2005
T:2 -
R:176
|
26/5/2008 -
13:41u
| Quote
|
ge hebt bvb een tabel met 4 klassen tussen 0 en 100 maar ipv ze onder elkaar te zetten (=rijen = records) zoals in uw eerste post zet ge ze naast elkaar (=kollommen). elke record bevat dan 4 waarden namelijk hoeveel keer elke waarde uit uw successrate voorkomt per klasse. Op die manier kunt ge dus meerdere successrate tabellen opdelen als ge wilt. Het resultaat is dus iets van (ik zet puntjes omdat wzl spaties negeert):
0-24 25-49 50-74 75-100 120.....95.....60......20
Een query die dit teruggeeft is veel makkelijker te schrijven dan wat gij wilt hebben denk ik
|
Menace
wzl-lid
Sinds 2/12/2004
T:37 -
R:140
|
26/5/2008 -
13:59u
| Quote
|
kzal het zo keer proberen.. alvast bedankt
|
dannyboy
wzl-lid
Sinds 31/5/2005
T:108 -
R:883
|
26/5/2008 -
18:36u
| Quote
|
zou het niet proberen, want dat ziet er niet echt fatsoenlijk uit. tenzij ge bij elke klasse evenveel getallen gaat hebben. Anders gaat het er misschien zo uitzien:
0-24___25-49___50-74___75-100 .11..........43.........51...........82.... .7........................53...........87.... .........................................77.... .........................................95....
en dat trek op niets. dan moet ge met NULL gaan werken waar de kolomen leeg zijn enzo. Er moet een betere oplossing zijn
Laatst aangepast door
dannyboy
op 26/05/2008 18:37:17u
(1x aangepast)
|
dannyboy
wzl-lid
Sinds 31/5/2005
T:108 -
R:883
|
26/5/2008 -
18:43u
| Quote
|
ik denk aan subquery's:
SELECT (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(0, 24)) "0-24", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(25, 49)) "25-49", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(50, 74)) "50-74", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(75, 100)) "75-100" FROM dual;
dan krijgt ge iets van de vorm 0-24|25-49|50-74|75-100 120 |..95..|...60...|20
tis nog niet wat ge moet hebben, maar het komt in de buurt de syntax zal wss wel niet kloppen, maar ik kan het hier niet echt testen
Laatst aangepast door
dannyboy
op 26/05/2008 18:47:58u
(3x aangepast)
|
Zubzub
wzl-lid
Sinds 30/7/2005
T:2 -
R:176
|
27/5/2008 -
9:24u
| Quote
|
dannyboy schreef: ik denk aan subquery's:
SELECT (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(0, 24)) "0-24", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(25, 49)) "25-49", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(50, 74)) "50-74", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(75, 100)) "75-100" FROM dual;
dan krijgt ge iets van de vorm 0-24|25-49|50-74|75-100 120 |..95..|...60...|20
tis nog niet wat ge moet hebben, maar het komt in de buurt de syntax zal wss wel niet kloppen, maar ik kan het hier niet echt testen Dat is dus wat ik bedoelde
|
Menace
wzl-lid
Sinds 2/12/2004
T:37 -
R:140
|
27/5/2008 -
11:40u
| Quote
|
merci!.. hiermee kan ik ook al men plan trekken!
|
D3ton8oR
Stella-man
Sinds 15/10/2003
T:32 -
R:1581
|
27/5/2008 -
15:56u
| Quote
|
als daar veel data inzit gaat da wel pokketraag gaan op de duur...
|
dannyboy
wzl-lid
Sinds 31/5/2005
T:108 -
R:883
|
27/5/2008 -
18:41u
| Quote
|
Zubzub schreef:
dannyboy schreef: ik denk aan subquery's:
SELECT (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(0, 24)) "0-24", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(25, 49)) "25-49", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(50, 74)) "50-74", (SELECT COUNT(*) FROM SuccessRate WHERE waarde BETWEEN(75, 100)) "75-100" FROM dual;
dan krijgt ge iets van de vorm 0-24|25-49|50-74|75-100 120 |..95..|...60...|20
tis nog niet wat ge moet hebben, maar het komt in de buurt de syntax zal wss wel niet kloppen, maar ik kan het hier niet echt testen Dat is dus wat ik bedoelde 
sorry dan, ik dat ge uw tabel de vorm wou geven waar ik op aant zagen was 
|
dannyboy
wzl-lid
Sinds 31/5/2005
T:108 -
R:883
|
27/5/2008 -
18:42u
| Quote
|
D3ton8oR schreef: als daar veel data inzit gaat da wel pokketraag gaan op de duur... ik denk niet dat er veel anders opzit. Kunnen ook een procedure ofzo schrijven alst in sqlplus mag, maar dat gaat even traag zijn, of zelfs trager...
|