Question

Всем привет! 

 

У меня на проекте есть система штрафов, когда игрок оплачивает один штраф по его номеру все нормально. 

 

Вопрос: Как мне в mysql сложить один столбик со всех строк путем вычислений что бы на сервере получить общую сумму для оплаты всех разом штрафов?

Нужный мне столбик обведен! Кликабельно!

 

 

Share this post


Link to post

5 answers to this question

  • 0

@Andrei_Morozov,

new rows, fields;
cache_get_data(rows, fields);
new sum = cache_get_row_int(0, 0, mysql);

 

Share this post


Link to post
  • 0

@Andrei_Morozov

SELECT SUM(price) FROM таблица WHERE (условие)

В целом, запрос читается так: "Получить сумму значений из столбца "price" в таблице "таблица", где (условие). Например, для игрока с номером 1 будет так:

SELECT SUM(price) FROM таблица WHERE number = 1

И результат данного запроса будет возвращен как столбец с названием "SUM(price)". То есть для его загрузки придется использовать следующий вариант:

new sum;
cache_get_value_name_int(0, "SUM(price)", sum);

Можно и придать виртуальное имя данному столбцу. Например, назовем его "ticket_sum":

SELECT SUM(price) AS ticket_sum FROM таблица WHERE number = 1

И загрузка тогда примет следующий вид:

new sum;
cache_get_value_name_int(0, "ticket_sum", sum);

 

Share this post


Link to post
  • 0
1 час назад, odosenok сказал:

@Andrei_Morozov


SELECT SUM(price) FROM таблица WHERE (условие)

В целом, запрос читается так: "Получить сумму значений из столбца "price" в таблице "таблица", где (условие). Например, для игрока с номером 1 будет так:


SELECT SUM(price) FROM таблица WHERE number = 1

И результат данного запроса будет возвращен как столбец с названием "SUM(price)". То есть для его загрузки придется использовать следующий вариант:


new sum;
cache_get_value_name_int(0, "SUM(price)", sum);

Можно и придать виртуальное имя данному столбцу. Например, назовем его "ticket_sum":


SELECT SUM(price) AS ticket_sum FROM таблица WHERE number = 1

И загрузка тогда примет следующий вид:


new sum;
cache_get_value_name_int(0, "ticket_sum", sum);

 

 

Как мне выгрузить на mysql r36-9

Share this post


Link to post
  • 0

@Andrei_Morozov, покажи загрузку чего-нибудь (домов или машин как пример).

Share this post


Link to post
  • 0
55 минут назад, Talex сказал:

@Andrei_Morozov, покажи загрузку чего-нибудь (домов или машин как пример).

 

Спойлер

publics LoadHouse()
{
    new time = GetTickCount();
    new rows, fields;
	cache_get_data(rows, fields);
	for(new i; i < TOTALHOUSE; i++) strmid(HouseInfo[i][hOwner],"None",0,strlen("None"),MAX_PLAYER_NAME);
	if(rows)
	{
		for(new idx = 1; idx <= rows; idx++)
		{
		    HouseInfo[idx][hID] = cache_get_row_int(idx-1, 0, mysql); // id
			HouseInfo[idx][hEntr][0] = cache_get_row_float(idx-1, 1, mysql); // hEntrx
			HouseInfo[idx][hEntr][1] = cache_get_row_float(idx-1, 2, mysql); // hEntry
			HouseInfo[idx][hEntr][2] = cache_get_row_float(idx-1, 3, mysql); // hEntrz
			HouseInfo[idx][hCar][0] = cache_get_row_float(idx-1, 4, mysql); // carx
			HouseInfo[idx][hCar][1] = cache_get_row_float(idx-1, 5, mysql); // cary
			HouseInfo[idx][hCar][2] = cache_get_row_float(idx-1, 6, mysql); // carz
			HouseInfo[idx][hCar][3] = cache_get_row_float(idx-1, 7, mysql); // carfa
			cache_get_row(idx-1, 8, HouseInfo[idx][hOwner], mysql, MAX_PLAYER_NAME); // hOwner
			HouseInfo[idx][hClass] = cache_get_row_int(idx-1, 9, mysql); // hClass
			HouseInfo[idx][hPrice] = cache_get_row_int(idx-1, 10, mysql); // hPrice
			HouseInfo[idx][hBuyPrice] = cache_get_row_int(idx-1, 11, mysql); // buyprice
			HouseInfo[idx][hInt] = cache_get_row_int(idx-1, 12, mysql); // hInt
			HouseInfo[idx][hLock] = cache_get_row_int(idx-1, 13, mysql); // hLock
			HouseInfo[idx][hDays] = cache_get_row_int(idx-1, 14, mysql); // hDays
			HouseInfo[idx][hHeal] = cache_get_row_int(idx-1, 15, mysql); // hHeal
			HouseInfo[idx][hGarage] = cache_get_row_int(idx-1, 16, mysql); // hGarage
			HouseInfo[idx][hAutoDoors] = cache_get_row_int(idx-1, 17, mysql); // hAutoDoors
			HouseInfo[idx][hSubsidia] = cache_get_row_int(idx-1, 18, mysql); // hSubsidia

			if(HouseInfo[idx][hDays] < 1 || HouseInfo[idx][hDays] > 30) HouseInfo[idx][hDays] = 1;

           	HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], (GetString(HouseInfo[idx][hOwner],"None")) ? (31) : (32), 0, -1, -1, -1, 15.0);

			if(GetString(HouseInfo[idx][hOwner],"None")) HouseInfo[idx][hObjectEnter] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 0);
			else HouseInfo[idx][hObjectEnter] = CreateDynamicPickup(1272, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 0);

            new texthouse[15];
			format(texthouse, sizeof(texthouse), "Дом №%i", idx);
			HouseInfo[idx][hTextEnter] = CreateDynamic3DTextLabel(texthouse, 0xFFFFFFFF, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2]+1.0, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);

			new _c = HouseInfo[idx][hClass], _i = HouseInfo[idx][hInt];
			if(!HouseInfo[idx][hAutoDoors]) HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFFF00}'/exit'\n{FFFFFF}Управление домом - {FFFF00}'/home'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]);
			else HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFFF00}'ALT'\n{FFFFFF}Управление домом - {FFFF00}'/home'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]);

			TOTALHOUSE++;
        }
        printf("Дома | %d - Дома были успешно загружены за (%d мс)!", TOTALHOUSE, GetTickCount() - time);
    }
    else printf("Дома | Дома дома не созданы!");
	return 1;
}

 

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content