Сумма значений столбца

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 18:50

Как просуммировать все значения столбца в таблице. Есть загнать весь столб в массив а потом посчитаь его сумму, но может это можно осуществить как-то проще?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 09 авг 2013, 18:53

select sum(STOLBIK) from table TABLITSA
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 19:09

а как мне это значение запихнуть в текствью а не в листвью?)

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 19:10

это я уже сделал по уроку SQL но мне нужно чтобы над листвью был тексвью в котором было значение суммы, а собственно за ним уже слагаемые в листе

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 09 авг 2013, 19:38

твойтесктвью.setText(полученное значение);
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 20:08

хм я пробовал что то не вышло, поэтому начал делать с суммированием значений массива. но попробую еще раз спасибо

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 09 авг 2013, 20:51

antonbright писал(а):это я уже сделал по уроку SQL но мне нужно чтобы над листвью был тексвью в котором было значение суммы, а собственно за ним уже слагаемые в листе
ты же сказал, что все хорошо получилось?
через массив делать просто ужасно неправильно.
1. В запросе бд , который я привела, получаете курсор с 1 значением в 1 столбце.
2. читаете это значение в переменную, предварительно поставив указатель записи в курсоре на 1 позицию, а еще предварительей проверив курсор на значение null
3. Оператором, который я привела, запихиваете значение в текствью.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 21:05

я про суммы первый раз спрашиваю совет. у меня по дате все получилось во многом благодаря Вам)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 09 авг 2013, 21:37

я что-то запуталась, ты после этого
Foenix писал(а):select sum(STOLBIK) from table TABLITSA
сказал, что все получилось,
antonbright писал(а):это я уже сделал по уроку SQL но мне нужно чтобы над листвью был тексвью в котором было значение суммы, а собственно за ним уже слагаемые в листе
и теперь нужно это значение поместить в текствью.

Если все равно не понятно, то давай по шагам. Что именно ты делаешь, что получилось уже, а что никак не получается.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 09 авг 2013, 22:33

а ну я имел в виду что у меня получилось сделать по уроку но засунул я в адаптер пытался в текствью а это не вышло. завтра с утра попробую что вы сказали

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Сумма значений столбца

Сообщение Mikhail_dev » 10 авг 2013, 15:52

Может не получилось, потому что текстВью принимает только строковые значения? :)
Тогда уже вот так. твойтесктвью.setText(""+полученное значение);

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 10 авг 2013, 16:58

Достаточно из курсора прочитать значение asString
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 13 авг 2013, 22:53

antonbright писал(а): а также не получается суммировать :( :(
Ты не совсем разобрался. Вот тут

Код: Выделить всё

String sqlQuery = "select * from REGISTRATION_TABLE where TESTDATE = ?";
	  Cursor  c = database_ob.rawQuery(sqlQuery, new String[] {test3});
sqlQuery - это запрос, где ты можешь, если хочешь, вместо ПЕРЕМЕННЫХ запроса вписать вопросительные знаки ?
new String[] {test3} - а это массив из строковых значений, их должно быть столько, сколько ? (в данном случае просто 1).
Поэтому вместо

Код: Выделить всё

String sqlQuery = "select * from REGISTRATION_TABLE "
 + "where TESTDATE BETWEEN test3 and test4";
 Cursor c = database_ob.rawQuery(sqlQuery, new String[] {test3});
тут будет

Код: Выделить всё

sqlQuery = "select * from REGISTRATION_TABLE where TESTDATE BETWEEN ? and ?";
а при вызове

Код: Выделить всё

Cursor c = database_ob.rawQuery(sqlQuery, new String[] {test3,test4})
А можно не пользоваться параметрами (?), а сразу составлять строку запроса в виде суммы других строчек.

Код: Выделить всё

sqlQuery = "select * from REGISTRATION_TABLE where TESTDATE BETWEEN "+test3+" and "+test4
и вызывать с

Код: Выделить всё

rawQuery(sqlQuery, null)
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 15 авг 2013, 10:23

если я использовал стрингбилдер и моя дата в таком формате 15/9/2013 можно ли будет ее сравнить с 13/9/2013 или использовать без аппендов просто 1592013 и 1392013??

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 15 авг 2013, 14:48

а кому я говорила про хранение даты и предлагала два прекрасных способа?
нет, в таком виде как у тебя - нельзя сравнить. Переделывай, пока не поздно.

В таком виде, или аналогичном, например 01.01.2013 можно хранить лишь в том случае, если у тебя дата используется ТОЛЬКО для вывода на экран и по ней не будет запросов никаких!
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 15 авг 2013, 17:15

1592013 а так то можно?)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 15 авг 2013, 17:17

даже сложно понять какая это дата - всего 7 цифр, а нужно 8.
и можно только 2 способами которые я упоминала. Все. Только 2.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 15 авг 2013, 17:37

ну YYYYMMDD это же тоже самое только у меня идет день/месяц/год

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Сумма значений столбца

Сообщение Foenix » 15 авг 2013, 19:35

да, но данный форма позволяет сравнить две даты, как будто это просто числа, и ответ будет верным.
Например,дата 20120101 будет всегда находиться межды 20110101 и 20130101, так же как и число.
Как ты будешь сравнивать в твоем формате я не знаю.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: Сумма значений столбца

Сообщение antonbright » 26 авг 2013, 21:12

Код: Выделить всё

public Cursor Sum(){
	opnToWrite();
	String[] cols={openHelper_ob.KEY_ID, "sum(LNAME) as LNAME"};
	Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, null, null, null, null,
			null);
	return c;
}
Суммирование получается как мне теперь закинуть в текствью? У меня получается только в листвью закинуть через

Код: Выделить всё

String[] from1 = {helper_ob.LNAME};
			int[] to1 = { R.id.tv_lname};
			cursor = adapter_ob.Sum();
			SimpleCursorAdapter cursorAdapter1 = new SimpleCursorAdapter(this,
					R.layout.row1, cursor, from1, to1);
			lv1.setAdapter(cursorAdapter1);

А еще не получается с выборкой даты из заданного промежутка

Код: Выделить всё

	
	public Cursor test(String test3, String test4){
	opnToWrite();
	String sqlQuery = "select * from REGISTRATION_TABLE "
     + "where TESTDATE  BETWEEN ? and ?";
	Cursor  c = database_ob.rawQuery(sqlQuery, new String[] {test3,test4});
	return c;
	}


Помогите плз

Ответить